package com.nycreativity.elecreativity.util;

import com.alibaba.fastjson.JSONObject;
import com.show.api.ShowapiRequest;

import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.Iterator;
import java.util.Map;

/**
 * @author sxt
 * @version 1.0
 * @description 外汇转换工具类
 * @date 2021/6/1 5:22 下午
 */
public class FCConvertUtil {

    /**
     * APP_CODE
     */
    public static final String APP_CODE = "8aec9cf2961e446e991d8e9462a38721";

    /**
     * 汇率转换
     *
     * @param fromCode 从一种货币
     * @param toCode   到另一种货币
     * @param value    金额
     * @return 转换后的金额
     */
    public static double convert(String fromCode, String toCode, Double value) {
        ShowapiRequest req = new ShowapiRequest("https://ali-waihui.showapi.com/waihui-transform", APP_CODE);
        byte[] b = req.addTextPara("fromCode", fromCode)
                .addTextPara("toCode", toCode)
                .addTextPara("money", String.valueOf(value))
                .getAsByte();
        String res = new String(b, StandardCharsets.UTF_8);
        //下面是使用阿里的fastjson包解析。如果不需要，请使用自己的解析包
        return JSONObject.parseObject(res).getJSONObject("showapi_res_body").getDouble("money");
    }
}
